; the format of each command is ; - Command String, ; - Minimum delay between previous send or recieve ; - Need response?, ; - What response string to wait for(empty if any is OK), ; - Does this response need to be saved ; - Timeout value for resend ; - Is this combined with previous command for resend for requested response ; ; There are also commands that are not sent top the controller but just used internally. ; These have a \xFF in the commands field and a unique value in the 'save resp' field. ; These are mostly used as configuration settings for the controller and are listed ; at the top of this file. ; ; COMMAND DELAY NEED RESP RESP SAVE RESP? RESEND TIMEOUT COMBINE WITH PREVIOUS ; These are different config options. The correct options should have the comment indicator (;) removed. [Config] ; SELECT ONE OF THESE TWO TRANSPORTS. Remove the comma in front of the appropraite line ; TCP Comm ;"\xFF", 0, 0, "", 204, 0, 0 ; UDP Comm "\xFF", 0, 0, "", 205, 0, 0 ; ; SELECT ONE OF THESE PROBE TYPES. Remove the comma in front of the appropraite line ; Vast Head ;"\xFF", 0, 0, "", 206, 0, 0 ; RDS Head ;"\xFF", 0, 0, "", 207, 0, 0 ; DSE Head ;"\xFF", 0, 0, "", 208, 0, 0 ; Analog (non-Vast) Head "\xFF", 0, 0, "", 209, 0, 0 ; PH9 Direct to PHC9 ;"\xFF", 0, 0, "", 230, 0, 0 ; PH9 Through Controller ;"\xFF", 0, 0, "", 231, 0, 0 ; ; SET THE IP ADDRESS AND PORT OPTIONS OF THE CONTROLLER ; CMM IP ADDRESS "\xFF", 0, 0, "192.4.1.200", 211, 0, 0 ; CMM PORT ADDRESS "\xFF", 0, 0, "4712", 212, 0, 0 ; HOST IP ADDRESS ;"\xFF", 0, 0, "192.4.1.155", 213, 0, 0 ; HOST PORT ADDRESS ;"\xFF", 0, 0, "4714", 214, 0, 0 ; ; SOME IP BASED CONTROLLERS USE STATUSES INSTEAD OF INTERRUPTS. Remove the comma in front of the line ; CONTROLLER DOES NOT USE INTERRUPT ;"\xFF", 0, 0, "", 210, 0, 0 ; ; CONTROLLER BEEPS WITH HIT. Set 'Delay' field to 1 to turn on beeps "\xFF", 1, 0, "", 220, 0, 0 ; ; SOFTWARE LIMITS SWITCHES - modify the value in delay field. ; X_PLUS "\xFF", 999999, 0, "", 221, 0, 0 ; X_MINUS "\xFF", -999999, 0, "", 222, 0, 0 ; Y_PLUS "\xFF", 999999, 0, "", 223, 0, 0 ; Y_MINUS "\xFF", -999999, 0, "", 224, 0, 0 ; Z_PLUS "\xFF", 999999, 0, "", 225, 0, 0 ; Z_MINUS "\xFF", -999999, 0, "", 226, 0, 0 ; ; SUPPORTS CIRCULAR MOVES - Set 'Delay' field to 1 to turn on "\xFF", 1, 0, "", 300, 0, 0 ; ; MAX SPEED LIMIT - value goes in delay field "\xFF", 413, 0, "", 250, 0, 0 ; ; ACCELERATION - value goes in delay field "\xFF", 200, 0, "", 251, 0, 0 ; ; ROTARY TABLE MAX SPEED LIMIT - value goes in delay field "\xFF", 300, 0, "", 240, 0, 0 ; ; ROTARY TABLE MIN SPEED LIMIT - value goes in delay field "\xFF", 1, 0, "", 241, 0, 0 ; ; ROTARY TABLE SCALE - value goes in delay field "\xFF", 3600, 0, "", 242, 0, 0 ; ; DOUBLE COMMAND DELAY - value goes in delay field "\xFF", 0, 0, "", 260, 0, 0 ; [Initialization] ' RESPONSE COULD BE 'E' or 'A'. I suspect that 'E' is a cold start and 'A' is warm "D107\x0D\x0A", 0, 1, "", 0, 500, 0 "", 2000, 1, "", 0, 0, 0 "\x01", 10, 1, "", 0, 0, 0 "D80\x0D\x0A", 90, 0, "", 0, 0, 0 "\x01", 0, 1, "", 0, 0, 0 "D14 \x0D\x0A", 0, 0, "", 0, 0, 0 "\x01", 0, 1, "", 0, 0, 0 "D1 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "D25 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "F0 , 0\x0D\x0A\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "\x01", 0, 1, "F0", 0, 0, 0 "D2 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "D25 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "F0 , 1\x0D\x0A\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "\x01", 0, 1, "F0", 0, 0, 0 "D2 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "D25 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "F0 , 2\x0D\x0A\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "\x01", 0, 1, "F0", 0, 0, 0 "D2 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "D25 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "F20 , 0\x0D\x0A\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "\x01", 0, 1, "F0", 0, 0, 0 "D2 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "D25 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "F0 , 3\x0D\x0A\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "\x01", 0, 1, "F0", 0, 0, 0 "D2 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "D25 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "F0 , 5\x0D\x0A\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "\x01", 0, 1, "F0", 0, 0, 0 "D2 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "D25 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "F0 , 6\x0D\x0A\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "\x01", 0, 1, "F0", 0, 0, 0 "D2 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 10, 0, "", 0, 0, 0 "D16S1 \x0D\x0A", 0, 0, "", 0, 0, 1 "\x01", 0, 1, "", 2, 0, 2 "I16\x0D\x0A", 40, 0, "", 0, 0, 1 "\x01", 0, 1, "00000", 0, 50, 2 "/KMGNR\x0D\x0A", 30, 0, "", 0, 0, 0 "D14 \x0D\x0A", 0, 0, "", 0, 0, 0 "\x01", 0, 1, "", 0, 0, 0 "I16\x0D\x0A", 40, 0, "", 0, 0, 1 "\x01", 0, 1, "00000", 0, 50, 2 "D34S2\x0D\x0A", 0, 0, "", 0, 0, 0 "\x01", 10, 1, "", 0, 0, 0 "D80\x0D\x0A", 0, 0, "", 0, 0, 0 "\x01", 0, 1, "", 0, 0, 0 "I80\x0D\x0A", 0, 0, "", 0, 0, 0 "\x01", 0, 1, "", 0, 0, 0 "'TASTKOPF,WDA,A'\x0D\x0A", 0, 0, "", 0, 0, 0 "\x01", 0, 1, "", 0, 0, 0 "D1 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "D50 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "F224, 0\x0D\x0A\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "\x01", 0, 1, "F224", 0, 0, 0 "D2 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "D1 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "D50 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "F224, 1\x0D\x0A\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "\x01", 0, 1, "F224", 0, 0, 0 "D2 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "D1 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "D50 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "F224, 2\x0D\x0A\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "\x01", 0, 1, "F224", 0, 0, 0 "D2 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "D1 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "D50 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "F224, 3\x0D\x0A\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "\x01", 0, 1, "F224", 0, 0, 0 "D2 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "D1 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "D50 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "F224, 4\x0D\x0A\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "\x01", 0, 1, "F224", 0, 0, 0 "D2 \x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00", 0, 0, "", 0, 0, 0 "M75\x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x00\x00", 0, 1, "A", 0, 0, 0 "SYS\x0D\x0A", 0, 0, "", 0, 0, 0 "SYS-CLR\x0D\x0A", 30, 0, "", 0, 0, 0 "DIR\x0D\x0A", 30, 0, "", 0, 0, 0 "READ\x0D\x0A", 30, 0, "", 0, 0, 0 "\x01", 30, 1, "SYS/M:", 0, 500, 0 "END\x0D\x0A", 50, 0, "", 0, 0, 0 "D16S1 \x0D\x0A", 300, 0, "", 0, 0, 1 "\x01", 20, 1, "", 0, 0, 2 "I16\x0D\x0A", 40, 0, "", 0, 0, 1 "\x01", 0, 1, "00000", 0, 100, 2 "D45#1,0\x0D\x0A", 20, 0, "", 0, 0, 0 " 1.00000000000 0.00000000000 0.00000000000 0.00000000000 1.00000000000 0.00000000000 0.00000000000 0.00000000000 1.00000000000\x0D\x0A", 20, 0, "", 0, 0, 0 "D45#2,0\x0D\x0A", 0, 0, "", 0, 0, 0 " 0.00000000000 0.00000000000 0.00000000000 0.00000000000 0.00000000000\x0D\x0A", 20, 0, "", 0, 0, 0 "D45\x0D\x0A", 0, 0, "", 0, 0, 0 "I16\x0D\x0A", 40, 0, "", 0, 0, 1 "\x01", 0, 1, "00000", 0, 50, 2 "D45#1,1\x0D\x0A", 20, 0, "", 0, 0, 0 " 1.00000000000 0.00000000000 0.00000000000 0.00000000000 1.00000000000 0.00000000000 0.00000000000 0.00000000000 1.00000000000\x0D\x0A", 0, 0, "", 0, 0, 0 "D45#2,1\x0D\x0A", 0, 0, "", 0, 0, 0 " 0.00000000000 0.00000000000 0.00000000000 0.00000000000 0.00000000000\x0D\x0A", 0, 0, "", 0, 0, 0 "D45\x0D\x0A", 10, 0, "", 0, 0, 0 "I16\x0D\x0A", 40, 0, "", 0, 0, 1 "\x01", 0, 1, "00000", 0, 50, 2 "D45#1,2\x0D\x0A", 20, 0, "", 0, 0, 0 " 1.00000000000 0.00000000000 0.00000000000 0.00000000000 1.00000000000 0.00000000000 0.00000000000 0.00000000000 1.00000000000\x0D\x0A", 0, 0, "", 0, 0, 0 "D45#2,2\x0D\x0A", 0, 0, "", 0, 0, 0 " 0.00000000000 0.00000000000 0.00000000000 0.00000000000 0.00000000000\x0D\x0A", 0, 0, "", 0, 0, 0 "D45\x0D\x0A", 0, 0, "", 0, 0, 0 "I16\x0D\x0A", 40, 0, "", 0, 0, 1 "\x01", 0, 1, "00000", 0, 50, 2 "D104S0\x0D\x0A", 30, 0, "", 0, 0, 0 "fmt0,1|1,f12.4(D17[0]),",",f12.4(D17[1]),",",f12.4(D17[2]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt0,f12.1(D17[3]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt0,2|6,f7.4(D17[10]),",",f7.4(D17[11]),",",f7.4(D17[12]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt0,f6.0(D10[0]),",",f6.0(D10[1]),",",f6.0(D10[2])\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt1,3|1,f14.6(D12[0]),",",f14.6(D12[1]),",",f14.6(D12[2]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt1,f12.1(D12[3]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt1,4|6,f9.6(D12[10]),",",f9.6(D12[11]),",",f9.6(D12[12]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt1,f6.0(D10[0]),",",f6.0(D10[1]),",",f6.0(D10[2])\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt2,5|1,f12.4(D17[0]),",",f12.4(D17[1]),",",f12.4(D17[2]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt2,f12.1(D17[3]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt2,4|6,f7.4(D17[10]),",",f7.4(D17[11]),",",f7.4(D17[12]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt2,f6.0(D10[0]),",",f6.0(D10[1]),",",f6.0(D10[2]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "fmt2,f2.0(D16[16])\x0D\x0A", 10, 0, "", 0, 0, 0 "buf= dist_v(0.01),f12.4(D17[0]),",",f12.4(D17[1]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "buf= f12.4(D17[2]),",",f12.1(D17[3]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "buf= f7.4(D17[10]),",",f7.4(D17[11]),",",f7.4(D17[12]),","+\x0D\x0A", 10, 0, "", 0, 0, 0 "buf= f6.0(D10[0]),",",f6.0(D10[1]),",",f6.0(D10[2])\x0D\x0A", 10, 0, "", 0, 0, 0 "I16\x0D\x0A", 40, 0, "", 0, 0, 1 "\x01", 0, 1, "00000", 0, 50, 2 "D1 \x0D\x0A", 10, 0, "", 0, 0, 0 "D50 \x0D\x0A", 10, 0, "", 0, 0, 0 "F119, 5\x0D\x0A", 10, 0, "", 0, 0, 0 "\x01", 0, 1, "F119", 0, 50, 2 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "D1 \x0D\x0A", 10, 0, "", 0, 0, 0 "D50 \x0D\x0A", 10, 0, "", 0, 0, 0 "F119, 6\x0D", 10, 0, "", 0, 0, 0 "\x01", 0, 1, "F119", 0, 50, 2 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "B32X414.3050Y-985.7932Z0x0.0000242y0.0000230z0.9999999\x0D\x0A", 10, 1, "A", 0, 0, 0 "I16\x0D\x0A", 40, 0, "", 0, 0, 1 "\x01", 0, 1, "00000", 0, 50, 2 ; THIS IS AN INTERNAL FLAG AND NOT SENT TO THE CONTROLLER "\xFF", 0, 0, "", 100, 0, 0 ;############################################################################### [Home] "D1 \x0D\x0A", 40, 0, "", 0, 0, 0 "I16\x0D\x0A", 40, 0, "", 0, 0, 1 "\x01", 0, 1, "00000", 0, 50, 2 "/REF.KMG\x0D\x0A", 0, 0, "", 0, 0, 0 ;Home move terminates with a non 'A' followed by a few 'Q's and a long status that shows no motion "", 25000, 1, "!A", 0, 10000, 0 "\xFF", 0, 0, "", 101, 0, 0 ; ;############################################################################### [PostHome] "D16S1 \x0D\x0A", 0, 0, "", 0, 0, 1 "\x01", 10, 1, "!A", 0, 1000, 2 "D34S1\x0D\x0A", 3500, 0, "", 0, 0, 0 "\x01", 0, 1, "", 0, 0, 0 ; the above returns ;T,Referenzpunkt - SMM Achsen X,Y,Z ist gesetzt !\x0D\x0A" "I16\x0D\x0A", 40, 0, "", 0, 0, 1 "\x01", 0, 1, "!33280", 0, 400, 2 "D50 \x0D\x0A", 0, 0, "", 0, 0, 0 "F35 , 0\x0D\x0A", 0, 0, "", 0, 0, 0 "\x01", 20, 1, "", 0, 0, 0 "D50 \x0D\x0A", 0, 0, "", 0, 0, 0 "F35 , 1\x0D\x0A", 0, 0, "", 0, 0, 0 "\x01", 20, 1, "", 0, 0, 0 "D50 \x0D\x0A", 0, 0, "", 0, 0, 0 "F35 , 2\x0D\x0A", 0, 0, "", 0, 0, 0 "\x01", 20, 1, "", 0, 0, 0 "G53X65Y65Z65\x0D\x0A", 20, 1, "", 0, 0, 0 "D16S1 \x0D\x0A", 20, 0, "", 0, 0, 1 "\x01", 0, 1, "*@", 2, 50, 2 ; THIS IS THE MOVE AFTER HOME. WE SHOULD CONSIDER MOVING THIS INTO THE CODE "G04X4.9999Y-4.9999Z-4.9999R0\x0D\x0A", 10, 1, "", 0, 20000, 0 "D91 \x0D\x0A", 120, 0, "", 0, 0, 0 "\x01", 20, 1, "", 0, 0, 0 "D16S1 \x0D\x0A", 160, 0, "", 0, 0, 1 "\x01", 20, 1, "", 0, 0, 2 "M75\x0D\x0A", 240, 1, "", 0, 2000, 0 "1 :G00Y0\x0D\x0A", 240, 1, "", 0, 2000, 0 "D16S1 \x0D\x0A", 160, 0, "", 0, 0, 1 "\x01", 0, 1, "@_", 0, 160, 2 " 1:G96 \x0D\x0A", 60, 1, "", 0, 0, 0 "D2 \x0D\x0A", 60, 0, "", 0, 0, 0 "D16S1 \x0D\x0A", 160, 0, "", 0, 0, 1 "\x01", 20, 1, "", 0, 0, 2 "D1 \x0D\x0A", 180, 0, "", 0, 0, 0 "G53X100Y100Z100\x0D\x0A", 40, 1, "", 0, 0, 0 "D2 \x0D\x0A", 160, 0, "", 0, 0, 0 "\xFF", 0, 0, "", 102, 0, 0 ;############################################################################### [NoHome] "D1 \x0D\x0A", 40, 0, "", 0, 0, 0 "D50 \x0D\x0A", 0, 0, "", 0, 0, 0 "F35 , 0\x0D\x0A", 0, 0, "", 0, 0, 0 "\x01", 20, 1, "", 0, 0, 0 "D50 \x0D\x0A", 0, 0, "", 0, 0, 0 "F35 , 1\x0D\x0A", 0, 0, "", 0, 0, 0 "\x01", 20, 1, "", 0, 0, 0 "D50 \x0D\x0A", 0, 0, "", 0, 0, 0 "F35 , 2\x0D\x0A", 0, 0, "", 0, 0, 0 "\x01", 20, 1, "", 0, 0, 0 "G53X100Y100Z100\x0D\x0A", 20, 1, "", 0, 0, 0 "D2 \x0D\x0A", 10, 0, "", 0, 0, 0 "\xFF", 0, 0, "", 103, 0, 0 ; [Idle] "D16S1 \x0D\x0A", 20, 0, "", 0, 0, 1 "\x01", 0, 1, "*@", 2, 50, 2 ;"I16\x0D\x0A", 40, 0, "", 0, 0, 1 ;"\x01", 0, 1, "", 4, 50, 2 "D0,0\x0D\x0A", 40, 0, "", 0, 0, 1 "\x01", 20, 1, "", 6, 50, 0 ; [StopMotion] ; ; [Status1] "D16S1 \x0D\x0A", 100, 0, "", 0, 0, 1 "\x01", 0, 1, "*@", 2, 1000, 2 ; [Status2] "D16S2 \x0D\x0A", 20, 0, "", 0, 0, 1 "\x01", 0, 1, "*@", 3, 1000, 2 ; [RotateProbe] ; [CmmMove] ; [CmmMeasure] ; /////////////////////////////